Keybindings

Keyboard shortcuts across lists, session view, diff mode, prompt input, and question input.

This page lists keyboard shortcuts for each Agentty view.

For session states and transition behavior, see Workflow.

Shared Text Editing🔗

Prompt, question, publish-branch, and launch-configuration inputs share these keys. Completion menus and question options take precedence when open.

KeyAction
Left / RightMove one character
Option+Left / Shift+Left / Alt+BMove to previous word
Option+Right / Shift+Right / Alt+FMove to next word
Home / EndMove to start / end of input
Ctrl+A / Ctrl+EMove to start / end of current line
Backspace / DeleteDelete backward / forward
Option+Backspace / Shift+BackspaceDelete previous word
Ctrl+WDelete previous word
Cmd+Backspace / Ctrl+UDelete current line
Ctrl+KDelete to end of current line
Ctrl+ZUndo
Ctrl+Y / Ctrl+Shift+ZRedo
pasteInsert text at the cursor

On macOS, undo still uses Ctrl+Z, not Cmd+Z. Terminal applications such as Ghostty may consume Cmd+Z before Agentty or a surrounding tmux session receives it.

Cmd+Backspace, Option+Backspace, and Alt+Enter require the terminal to forward the shortcut. If a terminal consumes a shortcut, use Ctrl+U to delete the line, Ctrl+W to delete the previous word, or Ctrl+J to insert a newline in multiline inputs.

Multiline prompt and question inputs also share vertical cursor movement and newline insertion. Single-line publish and launch-configuration inputs keep only the first line of pasted text.

Session List🔗

KeyAction
qQuit
aCheck hooks, then open the session creation selector
sSync active project branch
cCancel selected session after confirmation
EnterOpen session, or load more / show less archive rows
j / kNavigate sessions
pOpen project switcher popup
Tab / Shift+TabSwitch to next / previous tab
?Help

The archive starts with the 10 most recently updated sessions. Select Load more... and press Enter to load the next 10. Once more than 10 are loaded, select Show less... and press Enter to hide them again and return to the first 10. The archive heading shows the project's total archived sessions across all pages. Switching projects resets the archive window.

a opens the session-type selector, with a warning first if configured hooks are missing. Enter continues past that warning; Esc / q cancels. New-session setup runs in the background; s retries failed setup from session view.

For draft and stacked eligibility, see Session Types. Project sync leaves navigation available; see Project Sync.

The p popup lists registered projects in most-recently-opened order with the active project marked by a * prefix. Each row shows â–¶ N for projects with running sessions and stays blank otherwise. Use j / k to move, Enter to switch the active project without leaving the Sessions view, and Esc or q to close.

Project List🔗

KeyAction
qQuit
sSync active project branch
aAdd project by path
dDiscover projects in a folder
EnterSelect active project
j / kNavigate projects
Tab / Shift+TabSwitch to next / previous tab
?Help

Project sync follows the same rules as in the Sessions list. In project path popups, Enter submits and Esc cancels. In discovery results, j / k navigate, Space selects a repository, Enter saves selected repositories, and Esc discards results. The startup discovery suggestion defaults to No; y starts the home scan and n / Esc skips it. See Projects and Discovery.

The currently active project is highlighted in the table with a * prefix and accented row text.

Settings🔗

KeyAction
qClose an editor or selector first; otherwise quit
sSync project
j / kNavigate rows or options
EnterOpen selection, advance a role picker, or save
EscClose selection or cancel an edit
aAdd a launch command
eEdit selected launch command
dDelete selected launch command
J / KMove launch command down / up
Tab / Shift+TabNext / previous tab
?Help

Role pickers ask for model, reasoning, and, for Claude or Codex, speed. Launch commands use the shared text editor. See Settings Scope for available settings.

Session View🔗

Available actions depend on the session state. The full set in Review state, subject to session and forge availability:

KeyAction
qBack to list
EnterCompose a reply
/Open composer with / prefilled
oRun a launch configuration in the worktree (tmux)
pPublish branch and create or refresh review request
cShow linked review-request comments
dShow diff when the session has changes
fShow, generate, or regenerate focused review
FFork session with copied transcript history
mAdd to merge queue after confirmation
rSync session branch
j / kScroll output
g / GScroll to top / bottom
Ctrl+d / Ctrl+uHalf page down / up
?Help

State-specific differences:

  • AgentReview: r cancels the pending review and starts sync.
  • InProgress: Enter, r, and p queue messages, sync, and publishing. Ctrl+C retracts the newest queued message; with none left, it stops the turn.
  • Rebasing: Enter and p queue work; cancellation and slash commands are unavailable.
  • Draft: Enter stages, s starts, and image-paste keys open the composer. Stacked drafts require a review-ready parent and idle stack.
  • Question: Answer through the question panel; r is hidden.
  • Stacked child: No F. Idle review-ready parents retain reply, slash, merge, and sync actions.
  • Linked review request: c opens comments; local m is unavailable.
  • Merged: Read-only chat, comments, and diff until manual target sync completes.
  • Done / Canceled: c confirms a continuation draft; linked comments are hidden.
  • Queued / Merging: Navigation, scrolling, and help remain available.

A known-empty diff hides d. o requires tmux and runs the configured launch command or opens a command selector. See Workflow for lifecycle details.

Review Comments in Diff Mode🔗

Use c to open linked review comments or d to open Files. Comments are grouped as unresolved, outdated, resolved, and standalone. The right pane shows the selected conversation and available line context; outdated or file-level comments explain why line context is absent.

KeyAction
q / EscReturn to session view
j / kSelect previous/next comment
fFocus the Files section
Up / DownScroll selected comment info
SpaceToggle the selected actionable thread
EnterSubmit all selected threads to the agent

[ ] marks an actionable thread; [x] marks a selection. Submission requires a reply-capable session and at least one selected thread. During active work or sync, Enter queues the batch behind earlier work. Outdated unresolved threads remain actionable; resolved threads and standalone comments are read-only. See Addressing Review Comments for reply and resolution behavior.

Publish Popup🔗

KeyAction
EnterPublish typed or default target in the background
EscCancel and return to session view
shared text-editing keysEdit, paste, move, delete, undo, or redo
text keysEdit remote branch name, including the character q

Launch Configuration Selector🔗

KeyAction
j / kMove selection
EnterOpen worktree and run selected command
Esc / qCancel and return to session view

Diff Mode🔗

d opens Files. Focus a patch with Enter or l, add feedback on changed lines, then submit the batch with s. Shift+V starts a range selection; move to extend it and press Enter to comment, or Esc to cancel. Shift+C opens whole-file feedback and clears a range selection.

KeyAction
qBack to session
EscFocus Files, or leave from Files
j / kSelect a file, changed line, or inline comment
Shift+j / Shift+kScroll selected file, or select a diff row
Shift+CComment on the selected whole file
Shift+VStart visual changed-row selection
Alt+Enter / Shift+EnterInsert a comment newline
EnterFocus a file, or edit/finish a comment
lFocus the selected file's changes
Up / DownScroll file/preview, or select a diff row
Left / h / fReturn to Files
pToggle markdown preview
cFocus linked review comments
sSubmit all diff comments
?Help

The panel and file tree show added/removed line totals. File comments sit above the patch; inline comments retain their old/new line context.

Press Enter on a comment to edit it and Enter or Esc to finish. Finish with empty text to delete it. @ opens file lookup: arrows choose, Tab / Enter insert, and Esc dismisses. Completed comments survive navigation. s combines them with existing draft text and images; a new turn clears them. Retracting a queued batch preserves them. Read-only diffs hide comment editing and submission.

For Markdown, p previews the complete post-change file and stays enabled across file navigation. Other file types keep showing diffs; unavailable files show a notice. Press p again to return to the patch.

Prompt Input🔗

KeyAction
EnterSend prompt or stage it in a draft
Alt+Enter / Shift+EnterInsert newline
Ctrl+J / Ctrl+MInsert newline (terminal fallback)
Ctrl+V / Ctrl+Shift+V / Alt+VPaste image as [Image #n]
Cmd+Left / Cmd+RightMove to start / end of current line
Option+Left / Option+RightMove to previous / next word
Option+BackspaceDelete previous word
Cmd+BackspaceDelete current line
Ctrl+ZUndo
Ctrl+Y / Ctrl+Shift+ZRedo
EscCancel
TabFocus chat output for scrolling
Shift+TabCycle the session permission mode
@Open file picker
/Open slash commands
j / k / Up / DownNavigate and wrap slash menu

Use /mode to select Auto Edit, Auto Edit + Auto Address Comments, or Read Only. Shift+Tab cycles those modes in that order.

With chat focused, scroll using j / k or arrows, jump with g / G, or move half a page with Ctrl+D / Ctrl+U. d previews available changes, Tab returns to input, and q returns to the list with the draft saved. Ctrl+C is ignored in chat focus.

Text uses normal terminal paste. Image shortcuts attach an image as [Image #n]; see Prompt Input Extras. If modified Enter keys do not reach Agentty, use Ctrl+J or Ctrl+M for newlines.

Question Input — Option Selection🔗

When predefined options are shown:

KeyAction
j / k / Up / DownNavigate options
EnterSend highlighted option
TabFocus chat output for scrolling
qReturn to sessions list
Ctrl+CEnd turn without answering

Question Input — Free Text🔗

After moving above or below the predefined option list, or when no predefined options exist:

KeyAction
EnterSend response; blank means no answer
Alt+Enter / Shift+EnterInsert newline
Ctrl+J / Ctrl+MInsert newline (terminal fallback)
Ctrl+CEnd turn without answering
Left / Right / Up / DownMove cursor
Backspace / DeleteDelete character
Home / EndMove to start / end
Cmd+Left / Cmd+RightMove to start / end of current line
Option+Left / Option+RightMove to previous / next word
Option+Backspace / Ctrl+WDelete previous word
Cmd+BackspaceDelete current line
Ctrl+KDelete to end of current line
Ctrl+DDelete character forward
Ctrl+ZUndo
Ctrl+Y / Ctrl+Shift+ZRedo
TabFocus chat output for scrolling

Type @ and a filename fragment to look up files. Arrows select a match; Tab / Enter insert it without sending the answer. With no matches, those keys close the lookup. Esc dismisses it; modified Enter still inserts a newline.

In free-text mode every other printable character — including q — is inserted into the answer. To leave without answering, press Tab to focus the chat output and then q, or press Ctrl+C while the answer input is focused.

Question Input — Chat Scroll🔗

When chat output is focused (press Tab to switch):

KeyAction
j / k / Up / DownScroll chat output
g / GScroll to top / bottom
Ctrl+d / Ctrl+uHalf page down / up
dOpen available diff or diagnostic
TabReturn focus to answer input
qReturn to sessions list

After the last question is answered, Agentty sends one follow-up message with each question and its response, then returns to session view. Pressing q (outside free-text input) returns to the sessions list while leaving the session in Question state; answers already submitted and the current free-text draft are kept, so reopening the session resumes at the next unanswered question.